.. _cmlPmHomeSetConfig:

cmlPmHomeSetConfig
================================
--------------------------------


SYNOPSYS
`````````````
.. code-block:: none

  VT_I4 cmlPmHomeSetConfig([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel, 
  [in] VT_I4 HomeMode, [in] VT_I4 Dir, [in] VT_I4 EzCount, 
  [in] VT_R8 EscDist, [in] VT_R8 Offset )          

DESCRIPTION
`````````````  

- cmlPmHomeSetConfig()/cmlPmHomeGetConfig() 함수는 원점복귀에 관련된 여러 가지 환경을 설정 혹은 
  설정된 환경을 반환합니다.     

\

- 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의
  첨두어 cml 가 붙지 않습니다.


PARAMETER
`````````````

▶ BoardID : 사용자가 설정한 디바이스(보드) ID. 
 
▶ NodeId : 사용자가 제어하고자 하는 노드 번호.  
 
▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 
통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. 
 
▶ HomeMode : 원점복귀 모드 번호를 설정 혹은 반환합니다. 앞서 설명한 바와 같이 ㈜커미조아 모션 
컨트롤러는 13가지(0 ~ 12)의 다양한 원점복귀 모드를 제공합니다. 
 
▶ Dir : 원점복귀 진행 방향을 설정 혹은 반환합니다.

  .. csv-table::
   :widths: 10 90
   :header-rows: 1
   :stub-columns: 0

    Value, Meaning
    0(cmlDIR_N), (-) ë°©í–¥ => Negative direction
    1(cmlDIR_P), (+) ë°©í–¥ => Positive direction

▶ EzCount : 이 값은 ORG신호 또는 EL신호가 ON이 된 후 실제로 복귀 작업을 완료하는데 필요한 EZ 
Count 값을 0 ~ 15 사이의 값으로 설정 혹은 반환합니다. 이 값의 참조 여부는 원점복귀 모드에 따라서 
다릅니다.   

▶ EscDist : 원점 탈출 거리를 설정 혹은 반환합니다. 거리의 단위는 논리적 단위 거리를 사용합니다. 

▶ Offset : 원점복귀 완료 위치에서 일정 거리 이상을 상대 이동할 필요가 있을 경우, 그 값을 설정 혹은 
반환합니다. 이것은 원점 복귀 완료 위치를 기준으로 추가 모션 이동을 의미합니다.  


RETURN VALUE
`````````````

.. csv-table::
  :widths: 10 90
  :header-rows: 1
  :stub-columns: 0

  Value, Meaning
  음수, 수행 실패
  ERR_NONE, 수행 성공


EXAMPLE
`````````

.. code-block:: c++
 :linenos:
 :emphasize-lines: 5

  C/C++ 
  #include “ComiMLink2_SDK.h” 
  #include “ComiMLink2_SDK_Def.h” 
  long BoardID = 0; 
  long nHomeMode = 0, nHmDir = 0, nEzCount = 0; 
  double fEscDist = 0.0f, fOffset = 0.0f; 
  /*0 번 축을 원점 복귀 모드 = 0, (-)방향, Ez Count = 1, 원점 탈출 거리 = 3000, offset = 0으로  
  원점 복귀 환경을 설정합니다.*/ 
  cmlPmHomeSetConfig (BoardID, 0, ccmlX1, 0, cmDIR_N, 1, 3000, 0 ); 
  //0번 축에 설정되어 있는 원점 복귀 환경 설정 정보를 반환합니다. 
  cmlPmHomeGetConfig (BoardID, 0, ccmlX1, &nHomeMode, &nHmDir, &nEzCount, &fEscDist, &fOffset );